/**
*  \file kwp_msg.h
*
*  \brief
*
*  \authors Michael J. Hohmann  michael.hohmann@linde-mh.de
*
*
*
*/
#ifndef KWP_MSG_H_INCLUDED
#define KWP_MSG_H_INCLUDED

/*================================================[ public includes  ]================================================*/
#include "../cfg/prj.h"

/*================================================[ public defines   ]================================================*/
#define KWP_MSG_SIZE S16_CONST(4096)

/*================================================[ public datatypes ]================================================*/
/** Object definition.
* 
* The struct kwp_msg_object defines the attribute of an object.
*/
struct kwp_msg
{	
	U16 len;
	U8 data[KWP_MSG_SIZE];   /**< */
};

enum kwptp_msg_type
{
    kwptp_msg_type_single_frame         = 0x00,
    kwptp_msg_type_first_frame          = 0x01,
    kwptp_msg_type_consecutive_frame    = 0x02,
    kwptp_msg_type_flow_ctrl_frame      = 0x03,
    kwptp_msg_type_undefined            = 0x04  /**< Has to be the last entry */
};


/*================================================[ public variables ]================================================*/

/*================================================[ inline functions ]================================================*/
STATIC_INLINE enum kwptp_msg_type kwp_msg_type_get( U8 data )
{
   enum kwptp_msg_type rv = (enum kwptp_msg_type) (( data >> 4) & 0x0F);

   if( rv > kwptp_msg_type_undefined )
   {
      rv=kwptp_msg_type_undefined;
   }

   return rv;
}

/*================================================[ public functions ]================================================*/

/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2017 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
